Semiconductor memory devices are roughly classified into volatile semiconductor memory devices and non-volatile semiconductor memory devices. The volatile semiconductor memory devices are capable of reading and writing data rapidly, but lose stored contents at power-off. On the other hand, the non-volatile semiconductor memory devices retain stored contents even at power-off. For this reason, the non-volatile semiconductor memory devices have been used to store contents which have to be retained regardless of whether a power is supplied.
Among the non-volatile semiconductor memory devices, a flash memory device has such a function that cells are electrically erased at the same time. This enables the flash memory device to be widely used to applications such as a computer, a memory card, and the like. The flash memory device is divided into a NOR type and a NAND type according to interconnection between a bit line and cells. A NOR-type flash memory device has such an array structure that two or more cell transistors are connected in parallel with one bit line. The NOR-type flash memory device is configured to program data in a Channel Hot Electron (CHE) manner and to erase data in a Flowler-Nordheim (F-N) tunneling manner. A NAND-type flash memory device has such an array structure that two or more cell transistors are connected in series with one bit line, and is configured to program and erase data in the F-N tunneling manner.
Memory cells of the flash memory device may store 1-bit data or multi-bit data, respectively. In the event that one memory cell stores 1-bit data, it may have a threshold voltage corresponding to one of two threshold voltage states, that is, data ‘1’ and data ‘0’. On the other hand, if one memory cell stores 2-bit data, it may have a threshold voltage corresponding to one of four threshold voltage states. Further, if one memory cell stores 3-bit data, it may have a threshold voltage corresponding to one of eight threshold voltage states.
In recent, there are sprightly researched various techniques for storing four or more data bits in one memory cell.